package cg.cmm.base.log.dto;

import cg.cmm.base.enums.BusinessType;
import cg.cmm.base.enums.OperatorType;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author: baibing
 * create time: 2024-11-17 15:49
 * description:
 */
@NoArgsConstructor
@AllArgsConstructor
@Setter
@Getter
public class LogDTO {

    /**
     * 模块
     */
    private String title;

    /**
     * 功能
     */
    private BusinessType businessType;

    /**
     * 操作人类别
     */
    private OperatorType operatorType;

    /**
     * 是否保存请求参数
     */
    private boolean isSaveRequestData;

    /**
     * 类名
     */
    private String className;

    /**
     * 方法名
     */
    private String methodName;

    /**
     * 追踪Id
     */
    private String traceId;

    /**
     * 参数值
     */
    private Object[] paraVal;

    /**
     * 执行时长（毫秒）
     */
    private long executionTime;

    /**
     * 异常消息
     */
    private String exceptionMessage;

    /**
     * 返回结果
     */
    private Object resultObj;

    /**
     * 登录人
     */
    private String userId;

    /**
     * 开始 操作时间
     */
    private Date startOperationTime;

    /**
     * 结束 操作时间
     */
    private Date endOperationTime;
}
